package com.engine4cloud.tdf.supervision.dto.query;

import com.engine4cloud.tdf.common.core.constant.enums.CorFileTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

/**
 * 监督管理-文件表
 *
 * @author wenjie
 * @date 2024-03-06 10:25:56
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "监督管理-响应对象")
public class JzdxFileQueryDTO implements Serializable {

    /**
     * 主键
     */
    @Schema(description = "主键", example = "112234605521251521")
    private Long id;

    /**
     * 调查评估编号
     */
    @Schema(description = "调查评估编号", example = "46055212515215156")
    private String dcpgbh;

    /**
     * 调查评估编号
     */
    @Schema(description = "调查评估编号列表", example = "202401011111,202401011112")
    private List<String> codeList;

    /**
     * 人员编号
     */
    @Schema(description = "人员编号", example = "46055212515215156")
    private String rybh;

    /**
     * 流程编号
     */
    @Schema(description = "流程编号", example = "2024041014241151515")
    private String lcbh;

    /**
     * 文件类型
     */
    @Schema(description = "文件类型", example = "SURVEY_EVALUATION_DOC")
    @NotNull(message = "文件类型不能为空")
    private CorFileTypeEnum fileType;

    public JzdxFileQueryDTO(String code, CorFileTypeEnum fileType) {
        this.rybh = code;
        this.fileType = fileType;
    }

    public JzdxFileQueryDTO(String rybh, String lcbh, CorFileTypeEnum fileType) {
        this.rybh = rybh;
        this.lcbh = lcbh;
        this.fileType = fileType;
    }

    public JzdxFileQueryDTO(List<String> codeList, CorFileTypeEnum fileType) {
        this.codeList = codeList;
        this.fileType = fileType;
    }

}